package com.shujia

object Code13Class {
  def main(args: Array[String]): Unit = {
    /**
     *  注意：
     *      ① 自定义构造函数(非主构造函数)第一行必须要先调用主构造函数
     *      ② 构造函数在编译时，会将this关键字转换成类名
     *      ③ 主构造器为 class 类名 ()
     *      ④ 对于类中的函数可以进行重载(方法名相同， 参数列表不同)
     */

    val stu = new Stu1("张东东")

    val str = "3"
    println(stu.fun(2,str))
    println(stu.fun(2,3))




  }
}


class Stu1(_age:Int){
  var name:String = _
  def this(_name:String) {
    this(10)
    name = _name
  }


  // 成员方法
  def fun(a:Int,b:String): Int = {
    println("b is string")
    b.toInt * a
  }

  def fun(a:Int,b:Int): Int = {
    println("b is Int")
    a * b
  }
}